package com.factory._10bridge;

/**
 * 桥梁模式(Boride)
 * 特点： 业务抽象角色引用业务实现角色 Corp ---(桥梁)--> Product
 * 优点：类间解耦
 *
 * @author Qinye
 * @date 2023/8/13 12:27
 */
public class Test {
    public static void main(String[] args) {
        House house = new House();
        System.out.println("---------房地产公司是这样运行的-------");

        //先找到公司
        HouseCorp houseCorp = new HouseCorp(house);
        houseCorp.makeMoney();
        System.out.println("\n");

        //山寨公司 生产的产品很多，不过我只要指定产品就成了
        System.out.println("---------山寨公司是这样运行的----------");
        // 先生产衣服
        // ShanZhaiCorp shanZhaiCorp = new ShanZhaiCorp(new Cloth());
        // 衣服不赚钱了， 生产 Ipod ，只需要改动这一行代码，就可以生产其他指定的产品
        ShanZhaiCorp shanZhaiCorp = new ShanZhaiCorp(new Ipod());
        shanZhaiCorp.makeMoney();
        System.out.println("\n");

    }
}
